import { AuthTypeEnum, RoleTypeEnum } from "@/enums/LoginEnum"
import { AiUserAccountBotVo } from "../login/types"
import { InvitationStatusEnum } from "@/enums/PublicEnum"

export interface AiAddOrUpdateData {
  prompt: string
  /** 智能体ID */
  id: number,
  /** 智能体名称 */
  name: string,
  /** 智能体简介 */
  description: string,
  /** 智能体头像 */
  iconFileUrl: string,
  /** 开场白 */
  prologue: string,
  /** 背景图 */
  backImage: string | null,
  /** 推荐问题 */
  suggestedQuestions: string[],
  /** 社交身份列表 */
  socialIdentityList: string[],
  /** 是否开启推荐 */
  isOpenRecommend: number
}

export interface AiAccountBotListResult extends AiUserAccountBotVo {
  botId: number | null,
  description: string | null,
  iconFileId: number | null,
  backlogNum: number,
  roleType: RoleTypeEnum,
  certificationType: AuthTypeEnum
}

export interface AuthorizedUserListResult {
  avatar: string
  memberLeadingId: number,
  memberLeadingName: string,
  memberCompanyId: number,
  companyName: string,
  companyId: number,
  socialPosition: string,
  levelName: string,
  orgName: string
}

export interface BotAdminPageListResult {
  /** 主键 */
  id: number,
  /** 角色类型 */
  roleType: RoleTypeEnum,
  /** 智能体ID */
  botId: number,
  /** 用户名 */
  userName: string,
  /** 头像 */
  avatar: string,
  /** 手机号 */
  phone: string
}

export interface AdminAddOrUpdateData {
  id?: number;
  /** 管理员名称 */
  userName: string;
  /** 手机号 */
  phone: string;
  /** 头像 */
  avatar: string;
}

export interface AssistantInvitationCodeInfoResult {
  /** 主键 */
  id: number,
  /** 类型 */
  type: number,
  /** 邀请状态[0:失效;1:生效;2:同意;3:拒绝;] */
  status: InvitationStatusEnum,
  /** 邀请人名称 */
  invitingUserName: string,
  /** 邀请人头像 */
  invitingUserAvatar: string,
  /** 邀请码 */
  code: string,
  /** 数据角色类型 */
  dataRoleType: number,
  /** 过期时间 */
  expirationTime: string,
  /** 创建时间 */
  createTime: string,
  /** 邀请人ID */
  invitingAccountId: number,
  /** 被邀请人ID */
  invitedAccountId: number,
  /** 租户ID */
  tenantId: number,
  /** 智能体名称 */
  botName: string,
  /** 智能体头像 */
  iconFileUrl: string
}

export interface BotStatisticsResult {
  /** 当日聊天人数 */
  dayChatPeopleNum: number,
  /** 当日聊天次数 */
  dayChatNum: number,
  /** 当日浏览次数 */
  browseDayCount: number,
  /** 总聊天人数 */
  chatPeopleTotalNum: number,
  /** 总聊天次数 */
  chatTotalNum: number,
  /** 总浏览次数 */
  browseTotalNum: number
}